﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum РазмерыГосударственныхПособий
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"bc9157e2-735a-4621-b562-6e1eb277d042\", \"Представление\":\"ПриРожденииРебенка\"}")]
		ПриРожденииРебенка = 0,//При рождении ребенка
		[EnumMember(Value = "{\"Ссылка\":\"c8b2b8ac-8bcd-43b4-ace6-094bb623a498\", \"Представление\":\"ПриПостановкеНаУчетВРанниеСрокиБеременности\"}")]
		ПриПостановкеНаУчетВРанниеСрокиБеременности = 1,//При постановке на учет в ранние сроки беременности
		[EnumMember(Value = "{\"Ссылка\":\"0c19bfa2-2540-4fea-bf41-a9970a5bddd9\", \"Представление\":\"ВСвязиСоСмертью\"}")]
		ВСвязиСоСмертью = 2,//В связи со смертью
		[EnumMember(Value = "{\"Ссылка\":\"854c903d-966b-4270-a636-24a1c770f2e5\", \"Представление\":\"ПоУходуЗаРебенкомДо3хЛет\"}")]
		ПоУходуЗаРебенкомДо3хЛет = 3,//По уходу за ребенком до 3х лет
		[EnumMember(Value = "{\"Ссылка\":\"cdf35b00-bd2e-4b8e-a14c-9f70126892e4\", \"Представление\":\"ПоУходуЗаРебенкомДоПолутораЛет\"}")]
		ПоУходуЗаРебенкомДоПолутораЛет = 4,//По уходу за ребенком до полутора лет
		[EnumMember(Value = "{\"Ссылка\":\"d7891e10-bf01-4775-87ba-2db71d373322\", \"Представление\":\"МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет\"}")]
		МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет = 5,//Минимум пособия по уходу за первым ребенком до полутора лет
		[EnumMember(Value = "{\"Ссылка\":\"f75cf926-1960-4f88-92e9-f67ff0683557\", \"Представление\":\"МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет\"}")]
		МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет = 6,//Минимум пособия по уходу за последующим ребенком до полутора лет
		[EnumMember(Value = "{\"Ссылка\":\"47944af8-0507-4f14-aefb-7b790574f80d\", \"Представление\":\"МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет\"}")]
		МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет = 7,//Максимум пособия по уходу за ребенком до полутора лет
		[EnumMember(Value = "{\"Ссылка\":\"b3e9037b-8e14-4263-a952-ee44d869b3d4\", \"Представление\":\"ПриУсыновленииРебенка\"}")]
		ПриУсыновленииРебенка = 8,//При усыновлении ребенка
	}
	public static partial class РазмерыГосударственныхПособий_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПриРожденииРебенка = new Guid("1e6e62b5-77b2-42d0-4621-735abc9157e2");//При рождении ребенка
		public static readonly Guid ПриПостановкеНаУчетВРанниеСрокиБеременности = new Guid("4b09e6ac-23b6-98a4-43b4-8bcdc8b2b8ac");//При постановке на учет в ранние сроки беременности
		public static readonly Guid ВСвязиСоСмертью = new Guid("97a941bf-5b0a-d9dd-4fea-25400c19bfa2");//В связи со смертью
		public static readonly Guid ПоУходуЗаРебенкомДо3хЛет = new Guid("a12436a6-70c7-e5f2-4270-966b854c903d");//По уходу за ребенком до 3х лет
		public static readonly Guid ПоУходуЗаРебенкомДоПолутораЛет = new Guid("709f4ca1-6812-e492-4b8e-bd2ecdf35b00");//По уходу за ребенком до полутора лет
		public static readonly Guid МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет = new Guid("b72dba87-371d-2233-4775-bf01d7891e10");//Минимум пособия по уходу за первым ребенком до полутора лет
		public static readonly Guid МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет = new Guid("7ff6e992-68f0-5735-4f88-1960f75cf926");//Минимум пособия по уходу за последующим ребенком до полутора лет
		public static readonly Guid МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет = new Guid("797bfbae-7405-0df8-4f14-050747944af8");//Максимум пособия по уходу за ребенком до полутора лет
		public static readonly Guid ПриУсыновленииРебенка = new Guid("44ee52a9-69d8-d4b3-4263-8e14b3e9037b");//При усыновлении ребенка
		public static РазмерыГосударственныхПособий Получить(this РазмерыГосударственныхПособий Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static РазмерыГосударственныхПособий Получить(this РазмерыГосударственныхПособий Значение, Guid Ссылка)
		{
			if(Ссылка == ПриРожденииРебенка)
			{
				return РазмерыГосударственныхПособий.ПриРожденииРебенка;
			}
			else if(Ссылка == ПриПостановкеНаУчетВРанниеСрокиБеременности)
			{
				return РазмерыГосударственныхПособий.ПриПостановкеНаУчетВРанниеСрокиБеременности;
			}
			else if(Ссылка == ВСвязиСоСмертью)
			{
				return РазмерыГосударственныхПособий.ВСвязиСоСмертью;
			}
			else if(Ссылка == ПоУходуЗаРебенкомДо3хЛет)
			{
				return РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДо3хЛет;
			}
			else if(Ссылка == ПоУходуЗаРебенкомДоПолутораЛет)
			{
				return РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДоПолутораЛет;
			}
			else if(Ссылка == МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет)
			{
				return РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет;
			}
			else if(Ссылка == МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет)
			{
				return РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет;
			}
			else if(Ссылка == МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет)
			{
				return РазмерыГосударственныхПособий.МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет;
			}
			else if(Ссылка == ПриУсыновленииРебенка)
			{
				return РазмерыГосударственныхПособий.ПриУсыновленииРебенка;
			}
			return РазмерыГосударственныхПособий.ПустаяСсылка;
		}
		public static byte[] Ключ(this РазмерыГосударственныхПособий Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this РазмерыГосударственныхПособий Значение)
		{
			switch (Значение)
			{
				case РазмерыГосударственныхПособий.ПриРожденииРебенка: return ПриРожденииРебенка;
				case РазмерыГосударственныхПособий.ПриПостановкеНаУчетВРанниеСрокиБеременности: return ПриПостановкеНаУчетВРанниеСрокиБеременности;
				case РазмерыГосударственныхПособий.ВСвязиСоСмертью: return ВСвязиСоСмертью;
				case РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДо3хЛет: return ПоУходуЗаРебенкомДо3хЛет;
				case РазмерыГосударственныхПособий.ПоУходуЗаРебенкомДоПолутораЛет: return ПоУходуЗаРебенкомДоПолутораЛет;
				case РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет: return МинимумПособияПоУходуЗаПервымРебенкомДоПолутораЛет;
				case РазмерыГосударственныхПособий.МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет: return МинимумПособияПоУходуЗаПоследующимРебенкомДоПолутораЛет;
				case РазмерыГосударственныхПособий.МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет: return МаксимумПособияПоУходуЗаРебенкомДоПолутораЛет;
				case РазмерыГосударственныхПособий.ПриУсыновленииРебенка: return ПриУсыновленииРебенка;
			}
			return Guid.Empty;
		}
	}
}